// Led.h: interface for the CLed class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_LED_H__D1990E56_373F_11D3_BD7A_00C04F9902DF__INCLUDED_)
#define AFX_LED_H__D1990E56_373F_11D3_BD7A_00C04F9902DF__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CLed  
{
public:
    // set on and off colour of LED
	void SetColor(COLORREF c);
	void SetColor(int ret,int green,int blue);
	virtual int GetWidth();
	virtual int GetHeight();
	virtual void Draw(CDC *pDC,unsigned State=1);
	virtual void Create(int XPos,int  YPos,int nLen=-1,int nWidth=-1,int nAngle=0)=0;
	virtual void Create(CPoint p,int nLen=-1,int nWidth=-1,int nAngle=0)=0;
	void Init();
	virtual void SetOnColor(COLORREF color);
	virtual void SetOffColor(COLORREF color);
	CLed();
	virtual ~CLed();
    BOOL IsEmpty()  { return m_bEmptyLed; };

// data members
protected:
    COLORREF m_LedOn;   // color used to draw the LED when it is ON
    COLORREF m_LedOff;  //               "                       OFF
    int m_nLEDSegmentLength;    // length of each LED segment
    int m_nLEDSegmentWidth;     // width of each LED segment
    int m_nNumberOfSegments;    // Total number segments in the LED display
	BOOL m_bEmptyLed;           // TRUE if the LED is an EMPTY one.
								// Empty LED's are used to create spaces
                                // between set of LED's
};

#endif // !defined(AFX_LED_H__D1990E56_373F_11D3_BD7A_00C04F9902DF__INCLUDED_)
